package com.shop.trade.feign.user;

import com.shop.common.model.ServiceBean;
import com.shop.common.model.param.user.MessageInput;
import com.shop.common.model.param.user.UserPayInput;
import com.shop.common.model.param.user.UserPayLogInput;
import com.shop.common.model.result.user.UserBaseOutput;
import com.shop.common.model.result.user.UserPayOutput;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

/**
 * @Description:
 *
 * @author zhoulk
 * @date: 2019年04月05日  23:03
 */
@FeignClient(serviceId = "user")
public interface IUserAtomFeignClientSvc {

    @GetMapping("/user/atom/user/{userId}")
    UserBaseOutput qryUserBaseByUserId(@PathVariable(value = "userId") Integer id);

    @GetMapping("/user/atom/userpay/{userId}")
    UserPayOutput qryUserPayByUserId(@PathVariable(value = "userId") Integer id);

    @PutMapping(value = "/user/atom/userpay", consumes = "application/json")
    ServiceBean<String> modUserPay(@RequestBody UserPayInput userPayInput);

    @PostMapping(value = "/user/atom/userpay/log", consumes = "application/json")
    ServiceBean<Integer> addUserPayLog(@RequestBody UserPayLogInput userPayLogInput);

    @PostMapping(value = "/user/atom/message", consumes = "application/json")
    Integer sendMsg(@RequestBody MessageInput messageInput);
}
